Large companies often possess very rich collections of information in the form of electronic documents. This data is steadily increasing and a single software project can easily draw upon hundreds or thousands of sources of information. These might be design documents, UML diagrams, white papers or source code as well as indirectly related information—perhaps a previous product from the same team, external webpages and reference manuals. There is currently little software support for organising this body of information into an easily navigable network of references, not to mention integrate it into commonly used development suites.
One well known framework for organising large bodies of information is the Semantic Web. The term was first coined by Tim Berners-Lee et al. in 2001 and is the idea of having data on the web defined and linked in a way, that it can be used by machines—not just for display purposes, but for using it in various applications. The Semantic Web is a collaborative effort led by W3C with participation from a large number of researchers and industrial partners. The Semantic Web is based on the Resource Description Framework (RDF), which integrates a variety of applications using XML for syntax and URIs for naming. The RDF framework adopted by the Semantic Web community is used to develop the preferred embodiment of the present invention.
Another system, Alexa, is a web search engine that uses the notion of related links between web pages to refine its search results and present the most relevant information.
Hipikat is a group memory tool for the Eclipse IDE developed by Davor Cubranic at University of British Columbia. Hipikat is intended to solve the problem of information overload in a software environment where it is often difficult for a software developer to locate the right information amongst the huge amount of data stored. Hipikat recommends relevant software development artefacts based on the context in which a developer requests help from Hipikat. Hipikat using artefacts in a group environment and makes recommendations based on the artefacts it is aware of.
A market-based recommender system has been described in ‘Market-based recommendations: design, simulation and evaluation’ Yan Zheng Wei, Luc Moreau and Nicholas R. Jennings, Department of Electronics and Computer Science, University of Southampton (2003) Proc 2nd Int. Jount Cont. Or Autonomous Agents and Multi-Agent Systems, Melbourne, Australia, 600-607. The key feature of the system is the use of market mechanisms to short list recommendations of artefacts in decreasing order of user perceived quality.
Neither of the two prior art examples model, adapt and collate the importance of the relationships between the artefacts.